#include <iostream>
#include <stdlib.h>

using namespace std;
class avl_tree 
	{
	private:
		struct avl_node_t
		{
			int key;
			int data;
			struct avl_node *parent, *Right_s, *Left_s;
			int DeltaHeight;
		};
		typedef struct avl_node_t * avl_node;		
		avl_node root ;
		// if node was found return true and CurrentNode=node
		// if node was'nt found return false and CurrentNode=CurrentNode->Parent
		//
		//

		bool  FindNode(avl_node& CurrentNode);
		void roll(struct avl_node_t *p){}
		void recursive_insert(const int key, int data);
	public:		
		avl_tree();
		~avl_tree();
		void insert(const int key,int data);
		void remove (const int key);
		int& retrive (const int key);
		
};
main{
}
